package com.relytosoft.mizar.analyze.handle.service;

import com.relytosoft.mizar.analyze.base.entity.pojo.base.BaseAlgoControlReq;
import com.relytosoft.mizar.analyze.base.entity.pojo.base.BaseAlgoDataReq;

/**
 * @author wss
 * @version 1.0
 * @date 2022/5/16 22:58
 */
public interface StructureListenerService<AlgoReq extends BaseAlgoDataReq, AlgoControlReq extends BaseAlgoControlReq> {

    /**
     * 处理结构化任务原始数据
     *
     * @param baseAlgoReq
     * @return
     */
    public Boolean handleRawData(AlgoReq baseAlgoReq);

    /**
     * 处理结构化任务io数据
     *
     * @param baseAlgoReq
     */
    public void handleIOData(AlgoReq baseAlgoReq);

    /**
     * 处理结构话任务业务数据
     *
     * @param baseAlgoReq
     */
    public void handleBusinessData(AlgoReq baseAlgoReq);

    /**
     * 处理结构化布控原始数据
     *
     * @param algoControlReq
     * @return
     */
    boolean handleControlRawData(AlgoControlReq algoControlReq);

    /**
     * 处理结构化布控io数据
     *
     * @param algoControlReq
     */
    void handleControlIOData(AlgoControlReq algoControlReq);

    /**
     * 处理结构化布控业务数据
     *
     * @param algoControlReq
     */
    void handleControlBusinessData(AlgoControlReq algoControlReq);

}
